BenchMarksql 6.0 配置文件
1 背景知识
BenchMarksql 6.0 配置文件采用使用 JAVA 的 Properties 格式。此配置文件控制 JDBC 驱动程序、数据库类型、连接用户名密码、数据量大小等行为。
2 连接参数
Parameter | Description | Example |
---|---|---|
db |
数据库类型可以是 firebird , mariadb , oracle , postgres 或者 transact-sql 。 |
postgres |
driver |
要加载的JDBC驱动类型。 | org.postgresql.Driver |
application |
客户端应用程序的类型 ,BenchmarkSQL 的Generic 支持所有的数据库。PostgreSQLStoredProc 和 OracleStoredProc 是使用后端存储过程进行性能测试。 |
Generic |
conn |
JDBC 连接串 | jdbc:postgresql://localhost/testdb |
user |
数据库用户名称 | benchmarksql |
password |
数据库用户密码 | benchmarksql |
3 缩放参数
Parameter | Description | Example |
---|---|---|
warehouses | 数据库的缩放因子参数,每个仓库为100MB ,更多内容请参考BenchmarkSQL Timed Driver#2 缩放的问题 |
50 |
loadWorkers | 初始化数据库内容的并行线程数。取决于服务器的CPU ,IO 的物理配置。 |
8 |
monkeys | 用于处理客户端输入和输出的 Monkey 线程数量,更多内容请参考BenchmarkSQL Timed Driver#5 Monkey Queue |
8 |
sutThreads | 需要启动的应用程序连接数量。更多内容请参考BenchmarkSQL Timed Driver#7 System Under Test | 80 |
maxDeliveryBGThreads | 指定 UST 连接的派发事物的线程数量。更多内容请参考BenchmarkSQL Timed Driver#8 Delivery BG Scheduler | 40 |
maxDeliveryBGPerWarehouse | 指定同一个仓库下的Delivery BG 派发事务的线程数量。更多内容请参考BenchmarkSQL Timed Driver#8 Delivery BG Scheduler |
1 |
4 时间和测试持续参数
Parameter | Description | Example |
---|---|---|
rampupMins | 再开始性能测试之前延迟的分钟数。 这应该大于 rampupTerminalMins 参数。 | 30 |
rampupSUTMins | 启动 SUT 线程(数据库连接)的持续时间,分钟为单位。这应该低于或等于 rampupTerminalMins参数。 | 15 |
rampupTerminalMins | 客户端启动的持续时间,以分钟为单位。模拟人类的思考和键入动作。 | 20 |
runMins | 性能测试的持续时间,以分钟为单位,应该足够长。 | 300 |
reportIntervalSecs | 性能测试报告平均事务数的时间间隔。 | 60 |
restartSUTThreadProbability | SUT 线程 (数据库连接) 完成请求之后被终止的概率。 | 0.001 |
5 吞吐量优化参数
Warning
更改以下你数将导致基准测试违反 TPC-C 要求。
Parameter | Description | Example |
---|---|---|
keyingTimeMultiplier | 指定用户键盘输入数据的模拟时间的延迟,单位为秒。 | 0.1 |
thinkTimeMultiplier | 指定用户屏幕显示数据的延迟,单位为秒 。 | 0.1 |
6 事务组合参数
TPC-C 规范要求交易类型的最低百分比。
- 43.0% 付款.
- 4.0% 订单状态.
- 4.0% 库存量.
- 4.0% 交货.
上面缺少了一种交易就是新订单的交易百分比。 TPC-C 只要求了最低 43%
的付款率。如果只有 42.98%
,则基准测试是无效的。
BenchMarksql 6.0 使用随机数选择每个终端的下一次交易。为了避免上述问题,建议将百分比指定的高一点。
Parameter | Description | Example |
---|---|---|
paymentWeight | 付款交易的概率(百分比)。 | 43.1 |
orderStatusWeight | 交易订单状态的概率(百分比)。 | 4.1 |
stockLevelWeight | 库存水平的概率(百分比)。 | 4.1 |
deliveryWeight | 交付交易的概率(百分比)。 | 4.1 |